﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace SEG.Model
{
    public partial class Usuario : IDataErrorInfo
    {
        public string ContraseniaOriginal { get; set; }

        public Usuario()
            : base()
        {
            this.ID_Usuario = Guid.NewGuid();
        }

        partial void SetContraseniaOriginal(string contraseniaAnterior, string contraseniaNueva)
        {
            if (String.IsNullOrEmpty(contraseniaAnterior) && String.IsNullOrEmpty(ContraseniaOriginal))
            {
                ContraseniaOriginal = contraseniaNueva;
            }
        }

        #region IDataErrorInfo Members

        public string Error
        {
            get { throw new NotImplementedException(); }
        }

        public string this[string columnName]
        {
            get
            {
                String error = null;

                if (columnName == "NroDocumento" && String.IsNullOrEmpty(NroDocumento))
                {
                    error = "El campo Nro. Documento es de ingreso obligatorio.";
                }
                else if (columnName == "NombreApellido" && String.IsNullOrEmpty(NombreApellido))
                {
                    error = "El campo Nombre y Apellido es de ingreso obligatorio.";
                }
                else if (columnName == "NombreUsuario" && String.IsNullOrEmpty(NombreUsuario))
                {
                    error = "El campo Nombre Usuario es de ingreso obligatorio.";
                }
                else if (columnName == "Contrasenia" && String.IsNullOrEmpty(Contrasenia))
                {
                    error = "El campo Contraseña es de ingreso obligatorio.";
                }
                else if (columnName == "Grupo" && this.Grupo.Count == 0)
                {
                    error = "Debe ingresar al menos un grupo.";
                }

                return error;
            }
        }

        #endregion
    }
}
